package com.pds.web.opsOrganization.mapper;

import com.pds.web.opsOrganization.domain.OpsOrganizationInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 运维机构管理
 */
public interface OpsOrganizationMapper {
    /**
     * 保存基本信息
     * @param info
     * @return
     */
    int insertOpsOrganization(OpsOrganizationInfo info);

    /**
     * 查询运维机构基本信息
     * @param opsId
     * @return
     */
    OpsOrganizationInfo selectOpsOrganizationById(Long opsId);

    /**
     * 更新运维机构其他基本信息
     * @param info
     * @param type 1环保局更新，2运维机构自己更新
     * @return
     */
    int updateOpsOrganization(@Param("info") OpsOrganizationInfo info, @Param("type") int type);

    /**
     * 查询运维机构列表
     * @return
     */
    List<OpsOrganizationInfo> getOrganizationList(OpsOrganizationInfo info);

    /**
     * 查询运维机构信息
     * @param deptId
     * @return
     */
    OpsOrganizationInfo getOrganizationById(Long deptId);

    /**
     * 查询运维机构用户列表
     * map
     *  - opsId 机构id
     *  - userName 姓名
     *  - phone 电话
     *  - idCard 身份证号码
     * @return
     */
    List<Map> getOrganizationUserList(Map map);

    /**
     * 保存用户保存用户身份证、守法诚信运维承诺书id、运维业务考试证书id等其他信息
     * @param map
     * @return
     */
    int saveUserInfo(Map<String, String> map);

    /**
     * 更新用户其他信息
     * @param map
     * @return
     */
    int updateUserInfo(Map map);

    /**
     * 查询运维机构用户详细
     * userId 用户id
     *
     * @param userId
     * @return
     */
    Map getUserInfo(Long userId);

    /**
     * 查询运维工程师管辖的站房
     * @param userId
     * @return
     */
    Map selectStationByUserId(Object userId);
}
